1. Technical Field
This invention is directed to a method and a system for displaying information of a program under development in a development environment of object oriented programming and, more particularly, to such a method and a system that enable to display only particular classes and methods related to each other.
2. Prior Art
In a conventional class browser, a list of classes, a list of member variables or a list of methods for each class may be displayed. The common variety of displaying form is that uses a tree structure or a list box. Examples of class browsers are shown in FIGS. 1 and 2.
In FIG. 1, a window 11 is shown to display classes as well as their member variables and methods (member functions) in the form of a tree structure along with icons representing their respective attributes (public/protected/private). Designating a given member variable 12, "m_dwCents", as shown by the reversely highlighted characters, a portion of a source code corresponding thereto may be displayed in a window 13.
In another example shown in FIG. 2, classes may be displayed in a hierarchical manner. In a window 24, there is shown a "project" to be displayed. In a window 23, there is displayed a list of classes at the first hierarchical level of this project. In a window 20, classes may be displayed in a tree structure. The classes being displayed in the window 20 include those classes (21) at the first hierarchical level, and other classes (22) at the second hierarchical level within the designated class "LSsNode".
While such displaying functions are more efficient than directly observing a source code, in an actual application where the number of classes or methods is enormously increased, they have a difficulty to find out a particular member variable or a method. In view of such a problem, Visual Basic 5 (VB) or SNIFF has implemented a function for classifying members based on their attributes. For example, VB displays member variables after classifying them into those relating to display, size and the like, whereas SNIFF may perform a classification according to attributes such as public/protected/private in C++. However, with provision of such a classification function alone, there is no way to furnish an essential solution to find out necessary information from an enormous amount of program information.
Further, as another function for displaying program information, there is a call graph. This is used for displaying call relations between methods or member variables as a directed graph. Its example is shown in FIG. 3. In this call graph, classes are represented as nodes (31 to 33) , whereas calls are represented by edges between nodes. A name provided on an edge identifies a called class or a member variable.
While such a graph is useful for a small scaled application, it is not adapted for a large scaled application. This is because, in such a large scaled application, many methods or member variables are defined for each class and, thus, the number of nodes and edges of the graph is explosively increased.
As described above, when program information of a large scaled application under development is to be displayed, there has been a fundamental problem that a large amount of information is presented.
It is therefore an object of the present invention to display necessary program information sorted out in a simple manner while a large scaled program is being developed.